home *** CD-ROM | disk | FTP | other *** search
/ ADA Programming Guide / ADA Programming Guide.iso / ada_faqs / cld9z141.txt
Text File  |  1996-01-30  |  74KB  |  1,620 lines

  1. Archive-name: comp-lang-ada/cla-faq1
  2.  
  3.  
  4. comp.lang.ada Frequently Asked Questions (FAQ) part 1 of 2
  5.  
  6. Effective date: 4 JUN 93
  7.  
  8. Currently, the comp.lang.ada FAQ is maintained by the Ada Information
  9. Clearinghouse (cla-faq@ajpo.sei.cmu.edu).  It is available for
  10. downloading via anonymous FTP from the AJPO host (ajpo.sei.cmu.edu)
  11. from the public/comp-lang-ada subdirectory as files cla-faq1 and
  12. cla-faq2.
  13.  
  14. Frequency: This will be posted every other month to comp.lang.ada,
  15. news.answers, and comp.answers.
  16.  
  17. Changes since the last FAQ: Three on the Ada Semantic Interface
  18. Specification (ASIS); otherwise, no changes since last time.
  19.  
  20. Individuals are encouraged to submit both questions and answers.  In
  21. many answers below, submitters are noted in parentheses at the
  22. beginning of comments.  (Comments may be slightly edited.)
  23.  
  24. It should be noted that report of a product, service, or event, etc.,
  25. does not constitute an endorsement by the AdaIC or the Ada Joint
  26. Program Office.  Opinions expressed are those of the submitters.
  27.  
  28. Table of Contents:
  29.  
  30.    1) Where can I get a list of validated Ada compilers?
  31.    2) Where can I get a yacc/ayacc grammar to read Ada code?
  32.    3) Is there an Ada-mode for Emacs?
  33.    4) You know, I think Ada could really benefit from having
  34.       <choose_a_feature> from <choose_a_language>...
  35.    5) I just saw a very anti-Ada post that I think is definitely
  36.       wrong.  Why didn't anybody post a response to it?  Should I?
  37.    6) Where can I get a public-domain Ada compiler?
  38.    7) Is Ada a registered trademark of the US government?
  39.    8) I have seen the language name capitalized as ADA, as well as
  40.       Ada.  Which is right?
  41.    9) What is Ada 9X?
  42.   10) What is Anna, and where can I get it?
  43.   11) What is DRAGOON, and where can I get it?
  44.   12) Does anyone have a list of commercial Ada projects?
  45.   13) Are there versions of lex and yacc that generate Ada code?
  46.   14) What ftp sites exist that contain information about Ada or Ada
  47.       source?
  48.   15) What organizations exist that deal with Ada and Ada issues?
  49.       (Long)
  50.   16) What cheap (<500$) Ada compilers are available?
  51.   17) Are there any dialup BBS systems that deal with Ada?
  52.   18) Does anyone know where I can get bindings for Ada?  X-Windows?
  53.       Others?  (See 22 and 23 for specific reference to POSIX.)
  54.   19) Is there a list of Ada compiler vendor e-mail contacts?
  55.   20) Is there a list of good Ada books?  (Long)
  56.   21) Where can I get language translators?  And should I?
  57.   22) What is the status of the POSIX/Ada work?
  58.   23) How can I get a copy of POSIX/Ada?  Is it available via FTP?
  59.   24) Where can I get Ada benchmark programs?
  60.   25) The AJPO host has a lot of Ada information files available for
  61.       downloading by anonymous FTP.  But I don't have FTP service on
  62.       the Internet host where I have an account.  Is there any way I
  63.       can get those files?
  64.   26) What is ASIS?
  65.   27) How can I find out more about ASIS?  Can I take part in
  66.       development?
  67.   28) How can I get hold of ASIS?
  68.  
  69.  
  70.  1) Where can I get a list of validated Ada compilers?
  71.  
  72.       (from tjmesler@vnet.ibm.com)
  73.  
  74.       By anonymous ftp from ajpo.sei.cmu.edu.  The latest list is in
  75.       the /public/ada-info directory.  Only the latest list is kept;
  76.       it has the name val-comp.hlp.ddmmmyy, where dd stands for date,
  77.       mmm for month (3-letter abreviation), and yy stands for year.
  78.       For example, the current list is val-comp.hlp.01Oct92.  If the
  79.       list is updated during the month, the previous one is deleted
  80.       and the date part of the name of the file will change.
  81.  
  82.  2) Where can I get a yacc/ayacc grammar to read Ada code?
  83.  
  84.       (from garym@flash.telesoft.com (Gary Morris @lone))
  85.  
  86.       masticol@dumas.rutgers.edu has kindly sent in a yacc and lex
  87.       grammar for Ada.  It's available via FTP from the archives at
  88.       primost.cs.wisc.edu and via e-mail from the compilers server at
  89.       compilers-server@iecc.cambridge.ma.us.
  90.  
  91.  3) Is there an Ada-mode for Emacs?
  92.  
  93.       (from boubaker@mailhost.cenatls.cena.dgac.fr (Heddy Boubaker))
  94.  
  95.       There are, in fact, 3 ada modes for emacs
  96.  
  97.       - There is a simple ada-mode shipped as part of the emacs
  98.         distribution.
  99.  
  100.       - a more elaborate one from Steven D. Litvintchouk of Mitre
  101.         Corp called electric-ada
  102.  
  103.       - and gnu-ada mode.  Here is a small description of the features
  104.         of this mode:
  105.  
  106.           1/ Compile programs within emacs
  107.           Run compiler as inferior of Emacs, and parse its error
  108.           messages.  NOTE: I believe that this feature will only work
  109.           with VADS, but it might have been tailored to work with
  110.           other compilers.
  111.  
  112.           2/ Ada dired
  113.           It supplies a form of dired that helps manage the VADS
  114.           environment, and it adds ADA vads commands into ada mode.
  115.           Unlike a previous dired-ada implementation, this version
  116.           uses the existing dired mode functions except where there is
  117.           unresolvable conflict.  Thus, this is more like a minor mode
  118.           to dired.  Very important because on actual version of emacs
  119.           19(beta), in fact lemacs (lucid emacs), dired has changed
  120.           and we can no longer use gnu-ada mode :-(
  121.  
  122.           3/ you can consult Ada LRM(*) during parsing error message.
  123.           (*)You can get one in wsmr-simtel20.army.mil or any
  124.           mirror site.
  125.  
  126.           4/ smart indentation
  127.           Tries hard to do all the indenting automatically.
  128.           Emphasizes correct insertion of new code using smart
  129.           templates.
  130.  
  131.           5/ Smart template commands (bnf)
  132.           This is essentially a bnf processor/language-sensitive
  133.           editor.  The next message will give you an ada bnf file that
  134.           you can use within ada-mode to expand nonterminals.  But you
  135.           can roll your own grammars (e.g., your design grammar or an
  136.           ADL) and put them in *.bnf files ..
  137.           ; The BNF rule set is stored as a list of rules.
  138.  
  139.           6/ debugging Ada programs within emacs
  140.           A facility is provided for the simultaneous display of the
  141.           source code in one window, while using a.db to step through
  142.           a function in the other.  A small arrow "=>" in the source
  143.           window, indicates the current line.
  144.  
  145.           7/ Move from procedure to procedure or package to package
  146.           ...
  147.  
  148.           8/ tags Ada
  149.  
  150.           9/ and other things ...
  151.  
  152.       (from obry@enthuse.bellcore.com (Pascal OBRY))
  153.  
  154.       You can find the gnu-ada mode in
  155.       ajpo.sei.cmu.edu
  156.       cd /public/infoada/gnu
  157.       file r1.06a-ada.tar.Z
  158.  
  159.  4) You know, I think Ada could really benefit from having
  160.       <choose_a_feature> from <choose_a_language>
  161.     or
  162.     You know, I think Ada is clearly <inferior_or_superior> to
  163.       <choose_a_language> because it has <choose_a_feature>
  164.  
  165.       (from drew@verdix.com (Drew Johnson))
  166.  
  167.       Such posts almost always result in religious wars about langauge
  168.       and produce only wasted bandwidth.  PLEASE refrain from such
  169.       posts unless you have a specific question about Ada.  For
  170.       example, the following kind of question *is* appropriate: "In
  171.       <choose_a_language> I can do <choose_a_feature>.  How would I go
  172.       about doing this in Ada?"
  173.  
  174.  5) I just saw a very anti-Ada post that I think is definitely wrong.  Why
  175.     didn't anybody post a response to it?  Should I?
  176.  
  177.       (from drew@verdix.com (Drew Johnson))
  178.  
  179.       Ada apparently gets more than its share of attacks, probably due
  180.       to its unique origins, and the fact that it is a requirement for
  181.       some government software.  For the same reasons as in (4) above,
  182.       PLEASE refrain from posting a response to these, unless you feel
  183.       there is something of *significant* importance that you can
  184.       contribute.  Posts containing factual corrections are probably
  185.       OK, but posts like "Well, I've used Ada on many projects, and
  186.       all have been very successful" accomplish nothing.  If you are
  187.       really dead-set on driving your point home to the poster, you
  188.       can do it via e-mail.
  189.  
  190.  6) Where can I get a public-domain Ada compiler?
  191.  
  192.       There is currently no public-domain Ada compiler available.
  193.       However, a compiler for Ada 9X is in the works, and there is an
  194.       interpreter for Ada 83.  The interpreter is available from the
  195.       New York University host (cd.nyu.edu, Internet address
  196.       128.122.140.24).
  197.  
  198.       Interpreter for Ada 83:
  199.       (from mfeldman@cs.washington.edu (Michael Feldman))
  200.  
  201.       While there is no PD 'compiler', Ada/Ed is available, which is
  202.       an Ada interpreter.  It is available for PCs, Unix-based
  203.       machines, Amiga, and Atari systems.  Excerpt from the Ada/Ed
  204.       README:
  205.  
  206.       Ada/Ed is a translator-interpreter for Ada.  It is intended as a
  207.       teaching tool, and does not have the capacity, performance, or
  208.       robustness of commercial Ada compilers.  Ada/Ed was developed at
  209.       New York University, as part of a long-range project in language
  210.       definition and software prototyping.  The project produced the
  211.       first validated translator for Ada, in the form of an executable
  212.       definition of the language written in SETL.  The SETL system
  213.       served as design document and prototype for the C version
  214.       [available from the NYU host.]
  215.  
  216.       Ada/Ed was last validated under version 1.7 of the ACVC tests.
  217.       Therefore it is not currently a validated Ada system, and users
  218.       can expect to find small discrepancies between Ada/Ed and
  219.       currently validated compilers.
  220.  
  221.       Apart from the 100-odd tests of ACVC 1.11 that Ada/Ed currently
  222.       fails, the major deficiency of the system is that, being an
  223.       interpreter, it does not implement most representation clauses,
  224.       and thus does not support systems programming close to the
  225.       machine level.
  226.  
  227.       Compiler for Ada 9X:
  228.       GNU is officially working on a free Ada compiler.
  229.  
  230.       (from schonber@acf3.NYU.EDU (Ed Schonberg))
  231.  
  232.       The Computer Science Department of the Courant Institute of
  233.       Mathematical Sciences at New York University is pleased to
  234.       announce that it has received a contract from the Ada/9X Project
  235.       Office to develop a GNU/Ada system.  The work is being
  236.       cosponsored by DARPA and the Ada Joint Project Office, under the
  237.       direction of Christine M. Anderson.
  238.  
  239.       The project involves the implementation of a highly efficient
  240.       compiler system for the Ada language.  The compiler is to be an
  241.       integral part of the GCC system, distributed by the Free
  242.       Software Foundation.  Richard Stallman, head of the FSF, is
  243.       cooperating closely with NYU to ensure that the new Ada
  244.       component will fit smoothly into GCC.  GNU/Ada will be
  245.       distributed as a standard part of the GCC system.
  246.  
  247.       The project is under the direction of Professors Robert B. K.
  248.       Dewar and Edmond Schonberg.  The design team includes members of
  249.       the NYUADA project as well as GCC designers.  Bernard Banner,
  250.       Franco Gasperoni, Brett Porter and Gail Schenker have
  251.       participated in various aspects of the design and implementation
  252.       of Ada/Ed.  Richard Kenner has retargetted the GCC backend to
  253.       several modern RISC architectures.  Sam Figueroa, Laurent Bardet
  254.       and several graduate students will participate in the design and
  255.       implementation of selected modules of the run-time.  Finally,
  256.       Jean-Pierre Rosen, one of the original designers of Ada/Ed, will
  257.       be acting as a consultant in the area of tasking.  Collectively,
  258.       this group represents over a hundred person-years of experience
  259.       in Ada implementation and compiler technology.
  260.  
  261.       The project has an opening for one additional senior staff
  262.       person.  Substantial experience in compiler technology is
  263.       required, as well as fluency in Ada.  Those interested should
  264.       send e-mail to dewar@cs.nyu.edu or schonberg@cs.nyu.edu.
  265.  
  266.       The main goal of the project, nicknamed GNAT (GNU NYU Ada
  267.       Translator) is to provide a free implementation of Ada/9X, the
  268.       new version of Ada currently being designed.  As is well-known,
  269.       the name Ada/9X reflects the fact that the completion date for
  270.       its standardization is not yet known, although it is expected
  271.       that X will be 3 or 4.  GNAT will implement as much as possible
  272.       of the Ada/9X design over the 18 month duration of the project;
  273.       it is anticipated that all the important functionality of Ada/9X
  274.       will be covered.  The project does not include any commitment to
  275.       formal validation, since neither the approved standard, nor the
  276.       validation suite will be available in time.  Instead, the
  277.       objective is to provide to the Ada community, in the most timely
  278.       fashion, a reasonably complete implementation distributed with
  279.       full sources under the standard GNU public licence.  The system
  280.       will allow implementors, educators, and software professionals
  281.       to experiment with the new language at the earliest possible
  282.       time.
  283.  
  284.       Since ANSI Ada/83 is, with very few exceptions, a subset of
  285.       Ada/9X, the GNU/Ada system will be able to process and correctly
  286.       execute Ada/83 programs as well as Ada/9X programs.  Two major
  287.       releases of the system are scheduled, at staged levels of
  288.       functionality: one in June 1993, and the second at the end of
  289.       calendar 1993.
  290.  
  291.       We are establishing an external mailing list for distribution of
  292.       GNAT documents and design information.  If you would like to be
  293.       on this distribution list, please send e-mail to
  294.       gnat-request@cs.nyu.edu.
  295.  
  296.  7) Is Ada a registered trademark of the US government?
  297.  
  298.       (from the AdaIC)
  299.  
  300.       No, but it used to be; there's a "certification mark", though,
  301.       which is to be used only for validated compilers.
  302.  
  303.       Prior to November 30, 1987, the name "Ada" was a registered
  304.       trademark.  In the December 1987 issue of the Ada Information
  305.       Clearinghouse Newsletter, Ms. Virginia Castor, then Director of
  306.       the Ada Joint Program Office (AJPO), announced that the
  307.       Department of Defense would thereafter rely on a certification
  308.       mark instead of a trademark.
  309.  
  310.       (The certification mark is a Pentagon-shaped symbol with a
  311.       "Validated Ada" message, and can be seen on the documentation of
  312.       validated Ada compilers.)
  313.  
  314.       The text of the 1987 AJPO announcement is available as an AdaIC
  315.       file (trademrk.hlp.25Apr91) in the public/ada-info directory on
  316.       the AJPO host (ajpo.sei.cmu.edu).
  317.  
  318. 8) I have seen the language name capitalized as ADA, as well as Ada.  Which
  319.    is right?
  320.  
  321.       (from drew@verdix.com (Drew Johnson))
  322.  
  323.       The correct capitalization is Ada.  It's a proper name, for Ada
  324.       Lovelace (1815-1852), who is regarded to be the world's first
  325.       programmer.
  326.  
  327.       Using all-caps usually implies an acronym, and we are not
  328.       talking about the American Dental Association :).
  329.  
  330. 9) What is Ada 9X?
  331.  
  332.       (from drew@verdix.com (Drew Johnson))
  333.  
  334.       Ada 9X refers to the revised version of Ada.  (Ada 83 is the
  335.       current ANSI/ISO standard.)  The Ada 9X Project Office is
  336.       responsible for the revision, and is working closely with the
  337.       international community to ensure Ada retains its ISO status.
  338.       The Ada 9X process is very open.  Volunteer Reviewers are
  339.       welcome and should contact ada9x-vr@ajpo.sei.cmu.edu.  Many
  340.       draft documents are on-line on the Ada 9X bulletin board,
  341.       1-800-Ada9X 25.  For further information contact the Ada 9X
  342.       Project Office, PL/VTET, Kirtland AFB, New Mexico 87117-6008.
  343.  
  344.       Ada 9X includes three major areas of enhancement: support for
  345.       object-oriented programming, programming-in-the-large, and
  346.       realtime systems.
  347.  
  348.       A great deal of attention is being focused on transitioning to
  349.       Ada 9X.  The validation test suite will be available early (in
  350.       draft form prior to ANSI/ISO approval with official release 3
  351.       months after ANSI/ISO approval).  However, for a two-year period
  352.       vendors will be able to focus on enhanced areas of the language
  353.       that their customer base wants first; i.e., the first validation
  354.       test suite will be modularly constructed.  Vendors are also being
  355.       encouraged to release beta-versions of their Ada 9X
  356.       implementations prior to validation.
  357.  
  358.       There will also be a GNU Ada 9X compilation system available in
  359.       late 1993.
  360.  
  361. 10) What is Anna, and where can I get it?
  362.  
  363.       (from drew@verdix.com (Drew Johnson))
  364.  
  365.       Anna is a language for formally specifying Ada programs.  It
  366.       extends Ada with various different kinds of specification
  367.       constructs from ones as simple as assertions, to as complex as
  368.       algebraic specifications.  A whole lot of tools have been
  369.       implemented for Anna, including:
  370.  
  371.       1.  The standard DIANA extension packages, parsers,
  372.       pretty-printers.
  373.  
  374.       2.  Semantic checker (very similar to standard semantic checkers
  375.       for programming languages).
  376.  
  377.       3.  Specification analyzer -- this is a tool used to test a
  378.       specification for correctness before a program based on the
  379.       specification is written.
  380.  
  381.       4.  Annotation transformer -- this transforms Anna specification
  382.       constructs into checks on the Ada program that is developed
  383.       based on the specification.  This tool is currently in the
  384.       process of being enhanced so that it can handle at least all the
  385.       legal Ada programs in the ACVC test-suite.
  386.  
  387.       5.  Runtime debugger -- The instrumented program output by (4)
  388.       can be run with a special debugger that allows program debugging
  389.       based on formal specifications.
  390.  
  391.       All tools have been developed in Ada and are therefore extremely
  392.       portable.  Anna has been ported to many platforms, details of
  393.       which can be obtained from the person who handles Anna releases.
  394.       You can send e-mail to anna-request@anna.stanford.edu for answers
  395.       to such questions.  Actually, there is also a mailing list --
  396.       anna-users@anna.stanford.edu.  Send e-mail to the earlier address
  397.       if you want to get on this list.
  398.  
  399.       One could view Anna and its toolset as a *very* significant
  400.       enhancement of assertions that are provided in languages such as
  401.       C (using the assert statement).  The enhancements are in the
  402.       form of both (1) many more high level specification constructs;
  403.       and (2) more sophisticated tool support.
  404.  
  405.       However, there are those who would not even wish to compare Anna
  406.       with C assertions!  :-)
  407.  
  408.       The Anna tools may be found on the machine anna.stanford.edu in
  409.       the anonymous ftp directory pub/anna.
  410.  
  411. 11) What is DRAGOON, and where can I get it?
  412.  
  413.       (from drew@verdix.com (Drew Johnson))
  414.  
  415.       DRAGOON is a language, implemented as an Ada preprocessor (i.e.,
  416.       generates pure Ada).  DRAGOON supports the development of Ada in
  417.       a truly object-oriented manner, including complete support for
  418.       multiple inheritance.  A very nice feature of DRAGOON not found
  419.       in many OO languages is the concept of "behavioral" inheritance.
  420.       This allows you to keep the concurrent behavior of object
  421.       separated from the object class hierarchy.
  422.  
  423.       The book by Colin Atkinson, "Object-Oriented Reuse, Concurrency
  424.       and Distribution: An Ada-Based Approach" (ACM Press, 1991, ISBN:
  425.       0201565277), is very well written and describes the language
  426.       succinctly and completely.
  427.  
  428.       For a copy of the preprocessor, you can contact:
  429.  
  430.       Mr. Andrea Di Maio
  431.       TXT Ingegneria Informatica S.p.A.
  432.       Via Socrate, 41
  433.       20128 Milan, ITALY
  434.       0039-2-27001001
  435.  
  436. 12) Does anyone have a list of commercial Ada projects?
  437.  
  438.       (from the AdaIC)
  439.  
  440.       The Ada Information Clearinghouse maintains a list of Ada
  441.       projects that have submitted information for the AdaIC's Ada
  442.       Usage Database.  It is only a sample of Ada projects, but it
  443.       includes both commercial and government-related projects.
  444.       Details on contacting the AdaIC are below (question 15).
  445.  
  446. 13) Are there versions of lex and yacc that generate Ada code?
  447.  
  448.       (from drew@verdix.com (Drew Johnson))
  449.  
  450.       The Arcadia project produced aflex and yacc, that are written in
  451.       Ada and produce Ada code.  These can be found in the STARS
  452.       repository (source.asset.com -- see below), as well as other
  453.       sites.
  454.  
  455. 14) What ftp sites exist that contain information about Ada or Ada source?
  456.  
  457.       (from drew@verdix.com (Drew Johnson))
  458.  
  459.       Ada Software Repository: wsmr-simtel20.army.mil
  460.         Internet address: 192.88.110.20
  461.       Mirror of Ada Software Repository: wuarchive.wustl.edu
  462.         Internet address: 128.252.135.4
  463.       AJPO and AdaIC repository: ajpo.sei.cmu.edu
  464.         Internet address: 128.237.2.253
  465.       Source for aflex and ayacc: liege.ics.uci.edu (~ftp/pub/irus)
  466.         Internet address: 128.195.1.5, 128.195.13.1
  467.       European Repository: cnam.cnam.fr
  468.         Internet address: 192.33.159.6
  469.       STARS (Software Technology for Adaptable, Reliable Systems):
  470.       source.asset.com
  471.         Internet Address: 192.131.125.10
  472.       Unisys/STARS source: stars.rosslyn.unisys.com
  473.         Internet Address: 128.126.164.2
  474.  
  475. 15) What organizations exist that deal with Ada and Ada issues? (Long)
  476.  
  477.       (from AdaIC)
  478.  
  479.       Ada Joint Program Office (AJPO)
  480.       The AJPO is part of the Department of Defense; it facilitates
  481.       the implementation of the DoD's Software Initiative (Ada)
  482.       throughout the Services, and maintains the integrity of the Ada
  483.       language.  (The AJPO sponsors the AdaIC.)
  484.  
  485.       The address is:
  486.       Ada Joint Program Office
  487.       The Pentagon, 3E118
  488.       Washington, DC 20301-3081
  489.       703/614-0208 (autovon 224-0208)
  490.       fax: 703/685-7019
  491.  
  492.       The current Director and Deputy Directors are:
  493.  
  494.       Director:                         Dr. John Solomond
  495.                                           (solomond@ajpo.sei.cmu.edu)
  496.       Air Force Deputy Director:        Maj M. Dirk Rogers
  497.                                           (rogersd@ajpo.sei.cmu.edu)
  498.       Navy Deputy Director:             Mr. W. Currie Colket
  499.                                           (colket@ajpo.sei.cmu.edu)
  500.       Army Deputy Director:             vacant
  501.  
  502.       Ada Information Clearinghouse (AdaIC)
  503.       (from adainfo@ajpo.sei.cmu.edu (Michele L. Kee))
  504.  
  505.       Ada Information Clearinghouse
  506.       c/o IIT Research Institute
  507.       4600 Forbes Boulevard
  508.       Lanham, MD 20906-4320
  509.       1-800-AdaIC-11, 703/685-1477; fax: 703/685-7019
  510.  
  511.       The Ada Information Clearinghouse (AdaIC) provides a full
  512.       spectrum of information on Ada to anyone interested in finding
  513.       out more about the programming language.  IIT Research Institute
  514.       operates the AdaIC for the Ada Joint Program Office (AJPO).  The
  515.       AdaIC publishes a quarterly newsletter, which contains current
  516.       news, Ada conference reports, announcements from the AJPO
  517.       Director, and articles on projects using Ada.  If you would like
  518.       to receive a copy of the AdaIC newsletter, please call and
  519.       request a subscription.  There's no charge.  The AdaIC also
  520.       regularly updates and publishes more than 70 separate
  521.       information flyers.  Flyer topics include:
  522.  
  523.            Ada Validated Compilers
  524.            Ada News and Current Events
  525.            Ada Usage
  526.            Ada 9X Project
  527.            On-line sources of Ada Information
  528.            Ada Bibliographies
  529.            Ada Compiler Validation and Evaluation
  530.            Resources for Ada Education and Training
  531.            Ada Software, Tools, and Interfaces
  532.            Ada Regulations, Policies, and Mandates
  533.            Ada Historical Information
  534.  
  535.       One of the most commonly requested flyers is the Validated
  536.       Compilers List.  This list, which is updated monthly, contains
  537.       Ada compilers that have been validated by the AJPO.  For the
  538.       most current information on validated Ada compilers, contact the
  539.       AdaIC.
  540.  
  541.       *Practically all AdaIC flyers are available via anonymous ftp
  542.       from the AJPO host (ajpo.sei.cmu.edu, in the public/
  543.       directories).*
  544.  
  545.       Association of Computing Machinery's Special Interest Group on
  546.       Ada (ACM SIGAda):
  547.  
  548.       SIGAda's bimonthly publication is Ada Letters: Non-members $37;
  549.       (Annual ACM membership dues, $71; students, $21).  $15 per year
  550.       to ACM members; $10 per year ACM student members.
  551.  
  552.       Association for Computing Machinery, Inc.
  553.       1515 Broadway
  554.       New York, NY 10036
  555.       212/869-7440
  556.  
  557.       SIGAda also has a number of committees and working groups on a
  558.       variety of topics.
  559.  
  560.       ISO Working Group 9 (ISO-IEC/JTC1/SC22/WG9):
  561.       This is a working group that deals with Ada within the
  562.       Internation Standardization Organization.  Within WG-9, are
  563.       several Rapporteur (rap) groups:
  564.  
  565.       CRG: Character Rapporteur Group - International Character Sets
  566.       RRG: Real-Time Rapporteur Group - ExTRA
  567.       NRG: Numerics Rapporteur Group - NUMWG packages
  568.       SRG: SQL Interfaces Rapporteur Group - SAMeDL
  569.       IRG: Information Systems Rapporteur Group - Decimal Arithmetic
  570.       XRG: Ada 9X Rapporteur Group
  571.  
  572.       Ada Rapporteur Group (ARG):
  573.       (from Goodenough@SEI.CMU.EDU)
  574.  
  575.       This is the group responsible for evaluating comments on the Ada
  576.       standard.  Officially, the group is only developing a technical
  577.       report addressing comments and questions concerning the ISO
  578.       standard for Ada.  (Arcane ISO rules prevent the ARG or WG9 from
  579.       issuing "official" interpretations of a standard.)  In practice,
  580.       when a response to a comment is approved by WG9, the response is
  581.       taken into account by the Ada Validation Office and affects the
  582.       test suite.  The documents containing comments on the standard
  583.       and ARG responses are called "Ada Commentaries" and are given
  584.       numbers of the form AI-ddddd/vv, where vv is a version number.
  585.  
  586.       Comments and questions about the Ada standard should be sent to
  587.       ada-comment@ajpo.sei.cmu.edu, using the format specified in the
  588.       Ada standard.  You can receive e-mail notification of an update
  589.       to a commentary (optionally including the text of the commentary)
  590.       by sending a request to ada-comment@ajpo.sei.cmu.edu.
  591.       Commentaries are generally updated only a few times each year.
  592.       The text of all commentaries is available by anonymous ftp from
  593.       the AJPO site in the account public/ada-comment.  A detailed
  594.       discussion of ARG procedures and the format of commentaries can
  595.       be found in the ada-comment account in the file
  596.       arg-procedures.doc.  A reformatted copy of the Reference Manual
  597.       that includes WG9-approved commentaries is available from Karl
  598.       Nyberg (karl@grebyn.com).
  599.  
  600.       Uniformity Rapporteur Group (URG):
  601.       (from emery@d74sun.mitre.org (David Emery))
  602.  
  603.       Responsible for evaluating Uniformity Issues (UIs).  UIs
  604.       specify/recommend specific choices for the compiler implementor,
  605.       where the language permits implementation freedom.  The
  606.       "canonical example" is UI-8, on integer types.  This UI
  607.       recommends that integers be at least 32 bits, and provides names
  608.       for the other predefined integer types.  The goal of the URG and
  609.       the UI's is to further Ada portability by providing uniform
  610.       implementations of implementation-dependent features commonly
  611.       used by Ada applications.
  612.  
  613. 16) What cheap (<500$) Ada compilers are available?
  614.  
  615.       What follows is absolutely *not* exhaustive, but inexpensive
  616.       compilers are available, and some vendors offer educational
  617.       discounts.  Among those offering educational discounts are
  618.       Alsys, DDC-I, Encore, Harris, IBM, Irvine Compiler, Meridian,
  619.       PSS, Tartan, and TeleSoft.
  620.  
  621.       Meridian
  622.       Among choices for inexpensive compilers, Meridian offers one for
  623.       $99.  (Meridian Software Systems, 10 Pasteur Street, Irvine, CA
  624.       92718; contact: Jim Smith 800/221-2522, 714/727-0700)
  625.  
  626.       Alsys (US pricing only):
  627.       FirstAda for 286 DOS is $595.  It'll run on 286 and higher, and
  628.       will generate applications for any x86 PC.  Comes with a full
  629.       toolset.  Alsys does run specials on it periodically.  Call
  630.       Scott Dorman at 617/270-0030 for more info.
  631.  
  632.       Alsys offers the same compilation system for $144 to qualified
  633.       educational institutions under its LEAP program.  The program
  634.       also offers substantial educational discounts on other Alsys
  635.       products, as well as site license arrangements.  Contact Kathy
  636.       Ruggiero at 617/270-0030 for more info.
  637.  
  638. 17) Are there any dialup BBS systems that deal with Ada?
  639.  
  640.       AdaIC BBS: (US) 703/614-0215 AUTOVON: 224-0215
  641.  
  642.       Ada 9X: (US) 800-Ada9X25 301/459-8939
  643.  
  644.       (from olender@CS.ColoState.EDU (Kurt Olender))
  645.  
  646.       AdaNet BBS: This is a free service that maintains e-mail
  647.       connections for people not on the internet, an Ada source code
  648.       repository, and a selection of other on-line Ada-related
  649.       documents.  It is sponsored by NASA.  Call 800/444-1458 to
  650.       register for access.
  651.  
  652.       (from carlsons@ajpo.sei.cmu.edu (Susan Carlson))
  653.       (Caveat: Telephone numbers can change without notice.  If we
  654.       find out a number doesn't work, we'll note that, but leave the
  655.       entry in until we're sure the service has actually been
  656.       discontinued.  If you are aware of a better number, please let
  657.       us know.)
  658.  
  659.       Naval Computer Telecommunications Command
  660.       Tel: 804/444-7841
  661.  
  662.       Air Force Software Technology Support Center (STSC) BBS
  663.       Tel: 801/777-7553 or DSN 458-7553
  664.       Baud: 2400, 1200, 300
  665.       Bits: 8
  666.       Parity: None
  667.       Stop Bits: 1
  668.  
  669.       ACM SIGAda Performance Issues Working Group
  670.       PIWG Ada Benchmarks BBS
  671.       Tel: 412/268-7020
  672.  
  673.       AFSC MCCR Ada -- Air Force Policy
  674.       Tel: 301/735-8124 (?? wasn't working on 2 Nov 92)
  675.  
  676.       Embedded Systems Programming Magazine BBS
  677.       Tel: 415/905-2689
  678.  
  679.       Ada Language System/Navy
  680.       Tel: 202/342-4568
  681.       Baud: 2400/1200/300
  682.       Bits: 8
  683.       Parity: None
  684.       Stop Bits: 1
  685.  
  686. 18) Does anyone know where I can get bindings for Ada?  X-Windows?
  687.     Others?  (See 22 and 23 for specific reference to POSIX.)
  688.  
  689.       General
  690.       The AdaIC (question 15, above) has a report on "Available Ada
  691.       Bindings".  It can be ordered in hardcopy as flyer S82, and it
  692.       can be downloaded from the AdaIC Bulletin Board (703/614-0215)
  693.       as BINDINGS.HLP.  It's also available by anonyomous ftp on the
  694.       AJPO host (ajpo.sei.cmu.edu).
  695.  
  696.       X-Windows
  697.       (from drew@verdix.com (Drew Johnson))
  698.  
  699.       This question turns out to be pretty darn hard to answer easily.
  700.       There are at least three variables that need to be filled:
  701.  
  702.       1) platform where you are going to be running.
  703.       2) compiler you would like to use.
  704.       3) Level/flavor of X you would like to run (e.g., just need
  705.       bindings to Xlib, want Openlook as opposed to Motif, etc).
  706.  
  707.       Once you fill all three of the above, then you can start to get
  708.       answers.  In order to keep the answer brief, I am simply going
  709.       to list companies that offer such products, and locations where
  710.       free versions are available.
  711.  
  712.       Before I give the list, I think a little history is in order.
  713.       The first Xlib bindings that were publically available were done
  714.       by SAIC for STARS.  This implementation had many bugs, but it
  715.       was there, and it was free.  I believe that this version was
  716.       eventually withdrawn from the STARS repository, and has now been
  717.       replaced with a better one.  In addition, SAIC has done an Xt
  718.       implementation based on these Xlib bindings (also for STARS).
  719.       NOTE: the above description may well be inaccurate, and I
  720.       welcome corrections.
  721.  
  722.       Now, for the list.
  723.       NOTE: this list is currently "off the top of my head", and I
  724.       welcome the addition of details and/or corrections.  I currently
  725.       don't have time to go back through the comp.lang.ada archives to
  726.       get full contact info on the companies I am listing below.  I am
  727.       counting on their vigilance to see the FAQ and send me info.
  728.  
  729.       First off, there is a pretty complete list of available bindings
  730.       for X as well as other stuff at the Ada IC.
  731.       site: ajpo.sei.cmu.edu
  732.       location: /public/ada-info/bindings.hlp.06Oct92
  733.       access: anonymous FTP
  734.  
  735.       Free versions:
  736.       STARS: bindings to Xlib and Xt.  freely available via ftp on
  737.       source.asset.com
  738.  
  739.       Non-free versions:
  740.       SERC: bindings to Xlib/Xt/Motif
  741.       contact: well!sercmail@apple.com (Scott Cleveland)
  742.  
  743.       Verdix: bindings to Xlib/Xt/Motif
  744.       (Note that bindings to Xview are included with the SunAda Sun4
  745.       compiler)
  746.       contact: moskow@verdix.com (Paul Moskowitz)
  747.  
  748.       ATC: bindings to Xlib/Xt/Motif
  749.       contact: ???
  750.  
  751.       Telesoft: bindings to Xlib/Xt/Motif (TeleWindows)
  752.       (Note that bindings to Xview are included with the TeleSoft Sun4
  753.       compiler)
  754.       contact: philippe@telesoft.com
  755.  
  756.       X-based GUI (Graphical User Interface) Builders:
  757.       Objective (OIS): Screen Machine
  758.       contact: Phil Carrasco (703/264-1900)
  759.  
  760.       TeleSoft: TeleUSE
  761.       contact: philippe@telesoft.com
  762.  
  763.       EVB software: GRAMMI
  764.       contact: grammi-info@evb.com
  765.  
  766.       Sun Microsystems: DevGuide
  767.       contact: ???
  768.  
  769.       SERC: UIL-to-Ada code generator
  770.       (not really a GUI-builder, but works with several builders to
  771.       generate Ada instead of other languages).
  772.       contact: well!sercmail@apple.com (Scott Cleveland)
  773.  
  774. 19) Is there a list of Ada compiler vendor e-mail contacts?
  775.  
  776.       (from drew@verdix.com (Drew Johnson))
  777.  
  778.       Alsys sales (e-mail contact only): tne@world.std.com (Tom Erickson)
  779.       Alsys sales (voice) Scott Dorman
  780.       Tel: 617/270-0030
  781.  
  782.       Convex questions: allison@convex.com (Brian Allison)
  783.       Tel: 214/497-4346
  784.  
  785.       Cray questions: det@cray.com (Dave Thersleff)
  786.       Tel: 612/683-5701
  787.       Cray sales: svc@cray.com (Sylvia Crain)
  788.       Tel: 505/988-2468
  789.  
  790.       Harris questions: jeffh@ssd.csd.harris.com (Jeff Hollensen)
  791.  
  792.       IBM/Ada questions: malcho@torolab6.vnet.ibm.com (Don Malcho)
  793.       Tel: 416/448-3727
  794.  
  795.       Intermetrics questions: ryer@inmet.inmet.com (Mike Ryer)
  796.  
  797.       Irvine Compiler Corp (ICC) questions: info@irvine.com
  798.  
  799.       Tartan questions: englert@tartan.com (Susan Englert)
  800.       Tel: 412/856 3600
  801.  
  802.       Telesoft questions: adasupport@telesoft.com
  803.       Tel: 619/457-2700
  804.       TeleSoft Sales: marketng@telesoft.com (Philippe Collard)
  805.       Tel: 619/457-2700
  806.  
  807.       Verdix questions: drew@verdix.com (Drew Johnson)
  808.       Verdix sales information: moskow@verdix.com (Paul Moskowitz)
  809.       Tel: 800-BUY-VADS
  810.  
  811.                                     ***
  812. concluded in comp.lang.ada Frequently Asked Questions (FAQ) part 2 of 2
  813.                                 (cla-faq2)
  814.                                     ***
  815.  
  816. Archive-name: comp-lang-ada/cla-faq2
  817.  
  818.  
  819. comp.lang.ada Frequently Asked Questions part 2 of 2
  820.  
  821. Effective date: 4 JUN 93
  822.  
  823. 20) Is there a list of good Ada books?
  824.  
  825.       Just for a list of texts, etc. (no evaluations or
  826.       recommendations), you might take a look at the ADABOOKS.HLP file
  827.       on the AdaIC Bulletin Board and in the public/ada-info directory
  828.       on the AJPO host (ajpo.sei.cmu.edu).
  829.  
  830.       Books for use in class (and others):
  831.       (from mfeldman@seas.gwu.edu (Michael B. Feldman))
  832.  
  833.       As co-chair of the SIGAda Education Committee, and a denizen of
  834.       the Internet newsgroups, I am often asked to give references for
  835.       "Ada textbooks."  This list responds to these many queries.  It
  836.       is far from exhaustive, merely a selected list of 26 books being
  837.       used successfully in undergraduate computer science courses.
  838.  
  839.       The six books in the Group 1 are written especially for students
  840.       without programming experience, who are learning Ada as their
  841.       first language.  Most of these can also cover at least part of a
  842.       typical CS2-level course.  The seven books in Group 2 use Ada as
  843.       their language of discourse but are "subject-oriented:" data
  844.       structures, file structures, compilers, comparative languages.
  845.       The thirteen books in Group 3 are either "Ada books" focusing on
  846.       the language features or more general books that use Ada, at
  847.       least in part, but do not fit obviously into a standard
  848.       curriculum "pigeonhole."
  849.  
  850.       I invite you to add to the list.  Please write your annotated
  851.       entry in the form I have used here and write or e-mail it to me.
  852.       I will include it in my next version and credit you as a
  853.       co-compiler of the list.
  854.  
  855.       Disclaimers: I wrote two of the texts listed here; I hope the
  856.       annotations are impartial enough.  And any annotated
  857.       bibliography is selective and opinionated.  Your mileage may
  858.       vary.
  859.  
  860.       Group 1: Books Suitable for a First Course in Programming
  861.  
  862.       Bover, D.C.C., K.J. Maciuas, and M.J. Oudshoorn.
  863.       Ada: A First Course in Programming and Software Engineering.
  864.       Addison-Wesley, 1992.
  865.       This work is, to our knowledge, the first Ada book to emerge
  866.       from Australia, from a group of authors with much collective
  867.       experience in teaching Ada to first-year students.  A number of
  868.       interesting examples are presented, for example, an Othello
  869.       game.  The book is full of gentle humor, a definite advantage in
  870.       a world of dry and serious texts.  In the book's favor is the
  871.       large number of complete programs.  On the other hand, it is
  872.       rather "European" in its terseness; American teachers may miss
  873.       the pedagogical apparatus and "hand-holding" typically found in
  874.       today's CS1 books.  Generic units are hardly mentioned.
  875.  
  876.       Culwin, F.
  877.       Ada: a Developmental Approach.
  878.       Prentice-Hall, 1992.
  879.       This work introduces Ada along with a good first-year approach
  880.       to software development methodology.  Much attention is paid to
  881.       program design, documentation, and testing.  Enough material is
  882.       present in data structures and algorithm analysis is present to
  883.       carry a CS2 course.  A drawback of the book is that the first
  884.       third is quite "Pascal-like" in its presentation order:
  885.       procedures, including nested ones, are presented rather early,
  886.       and packages are deferred until nearly the middle of the book.
  887.       This is certainly not a fatal flaw, but it will frustrate
  888.       teachers wishing a more package-oriented presentation.  The
  889.       programs and solutions are apparently available from the author.
  890.  
  891.       Feldman, M.B., and E.B. Koffman.
  892.       Ada: Problem Solving and Program Design.
  893.       Addison-Wesley, 1991.
  894.       This work combines the successful material from Koffman's CS1
  895.       pedagogy with a software-engineering-oriented Ada presentation
  896.       order.  Packages are introduced early and emphasized heavily;
  897.       chapters on abstract data types, unconstrained arrays, generics,
  898.       recursion, and dynamic data structures appear later.  The last
  899.       five chapters, combined with some language-independent algorithm
  900.       theory, can serve as the basis of a CS2 course.  A diskette with
  901.       all the fully-worked packages and examples (about 180) is
  902.       included; the instructor's manual contains a diskette with
  903.       project solutions.
  904.  
  905.       Savitch, W.J. and C.G. Petersen.
  906.       Ada: an Introduction to the Art and Science of Programming.
  907.       Benjamin/Cummings, 1992.
  908.       This is a straightforward adaptation of the well-known Savitch
  909.       Pascal books.  Ada is introduced in a Pascal-like order, with
  910.       subtypes and packages introduced halfway through the book.  This
  911.       is purely a CS1 book.  The final chapter covers dynamic data
  912.       structures.  There is no coverage of unconstrained array types;
  913.       generics are introduced at the halfway point to explain Text_IO,
  914.       then dropped until the final chapter.  The authors intended this
  915.       book to provide a painless transition to Ada for teachers of
  916.       Pascal; one wishes they had taken advantage of the chance to
  917.       show some of the interesting Ada concepts as well.  Program
  918.       examples from the text are available on disk, but only as part
  919.       of the instructor's manual; a solutions disk is available for a
  920.       fee from the authors.
  921.  
  922.       Skansholm, J.
  923.       Ada from the Beginning.
  924.       Addison Wesley, 1988.
  925.       This book was one of the first to use Ada with CS1-style
  926.       pedagogy.  There are excellent sections on the idiosyncracies of
  927.       interactive I/O (a problem in all languages), and a sufficient
  928.       number of fully-worked examples to satisfy students.  Generics,
  929.       linked lists and recursion are covered at the end; there is no
  930.       tasking coverage, but one would not expect this at CS1-level.
  931.  
  932.       Volper, D., and M. Katz.
  933.       Introduction to Programming Using Ada.
  934.       Prentice-Hall, 1990.
  935.       This book uses a heavily "spiraled" approach to Ada, and is
  936.       designed for a 2-semester course, covering nearly all of Ada
  937.       eventually.  There are lots of fully-coded examples, and good
  938.       pedagogical sections on testing, coding style, etc.  If you like
  939.       spiraling, you'll like this.  The down side is that you can't
  940.       find all you need on a given subject in one place.  It's at the
  941.       other end of the scale from the "Ada books" that follow the Ada
  942.       Language Reference Manual (LRM) order.
  943.  
  944.       Group 2: Other Books Intended for Undergraduate Courses
  945.  
  946.       Ben-Ari, M.
  947.       Principles of Concurrent and Distributed Programming.
  948.       Prentice-Hall 1990.  (OS/concurrency)
  949.       In my opinion, this is the best introduction to concurrency on
  950.       the market.  Ada notation is used for everything, but the focus
  951.       is on concurrency and not on Ada constructs per se.  I liked the
  952.       CoPascal notation of the first edition better, but this book is
  953.       still great.  A software disk is promised in the preface; I had
  954.       to work quite hard to get it from the publisher, which finally
  955.       had to express-ship it from England.  The software comes with a
  956.       tiny Ada-ish interpreter, complete with Pascal source code,
  957.       adapted from Wirth's Pascal/S via CoPascal.  There are also some
  958.       real Ada programs, most of which I've tested and found correct
  959.       and portable.
  960.  
  961.       Feldman, M.B.
  962.       Data Structures with Ada.
  963.       Prentice Hall, 1985 (now distributed by Addison-Wesley).
  964.       (CS2/data structures)
  965.       This book is a reasonable approximation to a modern CS2 book:
  966.       "big O" analysis, linked lists, queues and stacks, graphs,
  967.       trees, hash methods, and sorting, are all covered.  The Ada is a
  968.       bit old-fashioned, especially the lack of generics; the book was
  969.       published before compilers could handle generics.  The packages
  970.       and other programs are available free from the author.  The book
  971.       is currently under revision with Addison-Wesley and should
  972.       appear in 1993.
  973.  
  974.       Fischer, C., and R. LeBlanc.
  975.       Crafting a Compiler.
  976.       Benjamin Cummings, 1988.  (compilers)
  977.       This book uses Ada as its language of discourse and Ada/CS, a
  978.       usefully large Ada subset, as the language being compiled.  If
  979.       you can get the "plain Pascal" tool software by ftp from the
  980.       authors, you'll have a good translator-writing toolset.  Skip
  981.       the Turbo Pascal diskette version, which is missing too many
  982.       pieces to be useful.  I've used the book since it came out with
  983.       both undergrad and graduate compiler courses; it embodies a good
  984.       blend of theory and "how it's really done" coding.  Students
  985.       like it.  The authors have recently published a second version,
  986.       which uses C as its coding language but retains Ada/CS as the
  987.       language being compiled.
  988.  
  989.       Lomuto, N.
  990.       Problem-Solving Methods with Examples in Ada.
  991.       Prentice-Hall, 1987.  (algorithms)
  992.       Inspired by Polya's classic How to Solve It, this book can make
  993.       a nice addition to an Ada-oriented algorithms course.  It makes
  994.       too many assumptions about students' programming background to
  995.       use as a CS1 book, and doesn't teach enough Ada to be an "Ada
  996.       book."  But it makes nice reading for students sophisticated
  997.       enough to handle it.  I'd classify it as similar to Bentley's
  998.       Programming Pearls.
  999.  
  1000.       Miller, N.E. and C.G. Petersen.
  1001.       File Structures with Ada.
  1002.       Benjamin/Cummings, 1990.  (file structures)
  1003.       Designed for a straightforward ACM-curriculum file structures
  1004.       course, this book succeeds at what it does.  There are good
  1005.       discussions of ISAM and B-tree organizations.  The software can
  1006.       be purchased a low cost from the authors; it seems to
  1007.       approximate in Ada all those C-based file packages advertised in
  1008.       programmer-oriented trade publications.
  1009.  
  1010.       Schneider, G.M., and S.C. Bruell.
  1011.       Concepts in Data Structures and Software Development (with Ada
  1012.       Supplement by P. Texel).
  1013.       West, 1991.  (CS2/data structures)
  1014.       This work is not, strictly speaking, an Ada book; rather, it is
  1015.       a solid, language-independent approach to modern CS2.  The
  1016.       language of discourse in the book is a Pascal-like ADT language
  1017.       rather like Modula-2 in style; some examples are coded in legal
  1018.       Pascal.  The Ada supplement makes it usable in an Ada-based
  1019.       course, but the supplement is rather too terse (100 pages of
  1020.       large type) for my taste, and insufficiently well keyed to the
  1021.       book chapters.  The supplement's effectiveness would be greatly
  1022.       enhanced by full translations to Ada of a large number of the
  1023.       book's examples.
  1024.  
  1025.       Sebesta, R.W.
  1026.       Concepts of Programming Languages.
  1027.       Benjamin Cummings, 1989.  (comparative languages)
  1028.       If you've been around for a while, you might remember the late
  1029.       Mark Elson's 1975 book by the same title.  This is similar: a
  1030.       concept-by- concept presentation, with -- in each chapter --
  1031.       examples taken from several languages.  There is a nice
  1032.       impartial presentation of Ada along with the others.  I
  1033.       especially like the chapters on abstraction and exception
  1034.       handling.  The book covers -- comparatively, of course -- most
  1035.       of the lanuages you'd like to see, including C, Lisp, Smalltalk,
  1036.       etc., with nice historical chapters as well.  The book is
  1037.       readable; my students like it.  Our undergraduate and graduate
  1038.       courses both use it as a base text.
  1039.  
  1040.       Group 3: A Selection of Other Ada-Related Books
  1041.  
  1042.       Barnes, J.
  1043.       Programming in Ada.  (3rd edition)
  1044.       Addison Wesley, 1989.
  1045.       Barnes' work has been one of the most popular "Ada books."  Some
  1046.       students find it hard to see how the pieces fit together from
  1047.       Barnes' often fragmentary examples; it is difficult to find
  1048.       complete, fully- worked out, compilable programs.  A version is
  1049.       available with the entire Ada Language Reference Manual bound in
  1050.       as an appendix.
  1051.  
  1052.       Booch, G.
  1053.       Object-Oriented Design, with Applications.
  1054.       Benjamin Cummings, 1991.
  1055.       This is a good comparative introduction to the "object-oriented
  1056.       (OO)" concept.  The first half gives a balanced presentation of
  1057.       the issues in OO Design; the second half gives nontrivial
  1058.       examples from Ada, Smalltalk, C++, CLOS, and Object Pascal.  The
  1059.       author tries to sort out the difference between object-based
  1060.       (weak inheritance, like Ada) and object-oriented (like C++)
  1061.       languages.  My only real complaint is that Booch should have
  1062.       worked out at least some of his case studies using several
  1063.       different languages, to highlight the similarities and
  1064.       differences in the language structures.  As it is, each case
  1065.       study is done in only a single language.  The good news is that
  1066.       the book is remarkably free of the hyperbolic claims one
  1067.       sometimes finds in the OO literature.  I think this book could
  1068.       be used successfully in a second- level comparative languages
  1069.       course.
  1070.  
  1071.       Booch, G.
  1072.       Software Components with Ada.
  1073.       Benjamin Cummings, 1987.
  1074.       This work is an encyclopedic presentation of data structure
  1075.       packages from Booch's OOD point of view.  It is great for those
  1076.       who love taxonomies.  It's not for the faint-hearted, because
  1077.       the volume of material can be overwhelming.  It could serve as a
  1078.       text for an advanced data structures course, but it's thin in
  1079.       "big O" analysis and other algorithm-theory matters.  The book
  1080.       is keyed to the (purchasable) Booch Components.
  1081.  
  1082.       Booch, G.
  1083.       Software Engineering with Ada.  (2nd edition)
  1084.       Benjamin Cummings 1987.
  1085.       Another of the classical "Ada books."  Introduces Booch's OOD
  1086.       ideas.  Not for use to introduce Ada to novices, in my opinion;
  1087.       there are some nice fully-worked case studies but they begin too
  1088.       far into the book, after long sections on design, philosophy,
  1089.       and language elements.  The earlier chapters contain too much
  1090.       fragmentary code, a common flaw in books that follow the LRM
  1091.       order.
  1092.  
  1093.       Bryan, D.L., and G.O. Mendal.
  1094.       Exploring Ada, Volumes 1 and 2.
  1095.       Prentice-Hall, 1990 and 1992 respectively.
  1096.       This is an excellent study of some of the interesting nooks and
  1097.       crannies of Ada; it sometimes gets tricky and
  1098.       "language-lawyerly."  Volume 2 takes up tasking, generics,
  1099.       exceptions, derived types, scope and visibility; Volume 1 covers
  1100.       everything else.  The programs are short and narrowly focused on
  1101.       specific language issues.  If you like Bryan's "Dear Ada" column
  1102.       in Ada Letters, you'll like this book.  It is certainly not a
  1103.       book for beginners, but great fun for those who know Ada already
  1104.       and wish to explore.
  1105.  
  1106.       Burns, A.
  1107.       Concurrent Programming in Ada.
  1108.       Cambridge University Press, 1985.
  1109.       I used this book for years in my concurrency course.  It's
  1110.       roughly equivalent to Gehani's book, but its age is showing.
  1111.       Cambridge Press is not always easy to get books from, especially
  1112.       in the US.
  1113.  
  1114.       Cohen, N.
  1115.       Ada as a Second Language.
  1116.       McGraw Hill, 1986.
  1117.       This book is a quite comprehensive exploration of Ada which
  1118.       follows the LRM in its presentation order.  My graduate students
  1119.       like it because it is more detailed and complete than
  1120.       alternative texts.  It's an excellent book for students who know
  1121.       their languages and want to study all of Ada.  There are good
  1122.       discussions of "why's and wherefore's" and many long,
  1123.       fully-worked examples.
  1124.  
  1125.       Gauthier, M.
  1126.       Ada: Un Apprentissage (in French).
  1127.       Dunod, 1989.
  1128.       I found this an especially interesting, almost philosophical
  1129.       approach to Ada.  The first section presents Ada in the context
  1130.       of more general laguage principles: types, genericity,
  1131.       reusability.  The second section introduces testing and
  1132.       documentation concerns, as well as tasking; the third considers
  1133.       generics and variant records in the more general context of
  1134.       polymorphism.  For mature Ada students in the French-speaking
  1135.       world, and others who can follow technical French, this book can
  1136.       serve as a different slant on the conventional presentations of
  1137.       the language.  An English translation would be a real
  1138.       contribution to the Ada literature.
  1139.  
  1140.       Gehani, N.
  1141.       Ada: an Advanced Introduction (2nd edition).
  1142.       Prentice-Hall, 1989.
  1143.       I've always liked Gehani's literate writing style; he knows his
  1144.       languages and treats Ada in an interesting, mature, and balanced
  1145.       fashion.  This book comes with a diskette sealed in the back of
  1146.       the book, which is advantageous because the book has numerous
  1147.       nontrivial, fully- worked examples.
  1148.  
  1149.       Gehani, N.
  1150.       Ada: Concurrent Programming (2nd edition).
  1151.       Silicon Press, 1991.
  1152.       This is a less formal, more Ada-oriented presentation of
  1153.       concurrency than the Ben-Ari work.  I use both books in my
  1154.       concurrency course; its real strength is the large number of
  1155.       nontrivial, fully worked examples.  Gehani offers a nice
  1156.       critique of the tasking model from the point of view of an OS
  1157.       person.  The preface promises the availability of a software
  1158.       disk from the publisher.
  1159.  
  1160.       Nyberg, K.
  1161.       The Annotated Ada Reference Manual.  (2nd edition)
  1162.       Grebyn Corporation, 1991.
  1163.       This is the definitive work on Ada legalities, because it
  1164.       presents not only the full text of the LRM but also the official
  1165.       Ada Interpretations.  These commentaries, interleaved with the
  1166.       LRM text, have been approved and promulgated by the Ada Board
  1167.       and the various standards organizations, and are binding upon
  1168.       compiler developers.  I recommend this book as an essential
  1169.       volume in the library of every serious Ada enthusiast.
  1170.  
  1171.       Shumate, K.
  1172.       Understanding Ada.  (2nd edition)
  1173.       John Wiley, 1989.
  1174.       This would make a CS1 book if it included more overall pedagogy,
  1175.       independent of language constructs.  Otherwise it is a nice
  1176.       introduction to Ada in fairly gentle steps.  Lots of completely
  1177.       worked examples, right from the start.  Doesn't follow the LRM
  1178.       order, which is great.
  1179.  
  1180.       Watt, D.A., B.A. Wichmann, and W. Findlay.
  1181.       Ada Language and Methodology.
  1182.       Prentice-Hall, 1987.
  1183.       This work presents some interesting programming projects, and
  1184.       the coverage of design and testing--at the level of a first-year
  1185.       student--is quite good.  The first third of the book
  1186.       concentrates heavily on classical control and data structures,
  1187.       leaving exceptions and packages until the "programming in the
  1188.       large" material in the second third.  CS2 teachers will find too
  1189.       little concentration on algorithm analysis.  On the other hand,
  1190.       tasking and machine-dependent programming are covered.  Like the
  1191.       Shumate work, this book would make a suitable introduction to
  1192.       Ada for students with a semester or so of programming
  1193.       experience; it "jumps in" too quickly to satisfy the needs of
  1194.       neophytes and is not well-tailored to CS1 or CS2 needs.
  1195.  
  1196. 21) Where can I get language translators?
  1197.  
  1198.       The AdaIC maintains a Products and Tools Database on its
  1199.       bulletin board (703/614-0215), and one of the categories is
  1200.       translators.  (The list of products should not be considered
  1201.       exhaustive; if you wish to suggest additions, please contact the
  1202.       AdaIC.)  Besides access to the database via the bulletin board,
  1203.       you can also call the AdaIC (800-AdaIC-11 or 703/685-1477) and
  1204.       ask for a customized search.
  1205.  
  1206.       In addition to all the usual caveats, however, it should also be
  1207.       noted that translation itself is a controversial issue.
  1208.  
  1209.       When a project makes the transition to Ada from some other
  1210.       language, one question that arises is whether to translate older
  1211.       code into Ada.  Among the immediate considerations are how much
  1212.       of the code can in fact be translated by a program intended for
  1213.       that purpose, versus how much will still require re-coding by
  1214.       hand.  And will the translated code will suffer a significant
  1215.       loss in speed of execution?  Further, a project must consider
  1216.       whether the translated code will reflect sound software
  1217.       engineering and be readily understandable and modifiable.  Or
  1218.       will it be merely "Fortranized Ada" or "Cobolized Ada", or the
  1219.       like, possibly retaining limitations present in the earlier
  1220.       code?  Portability is also a problem.
  1221.  
  1222.       The resolution of such issues will require an understanding of
  1223.       the earlier code, an appreciation of the similarities and
  1224.       differences between its language and Ada, and an evaluation of
  1225.       the translation program under consideration.
  1226.  
  1227. 22) What is the status of the POSIX/Ada work?
  1228.  
  1229.       (from emery@mitre.org (dave emery))
  1230.  
  1231.       The IEEE approved IEEE Standard 1003.5-1992 in June 1992.  This
  1232.       is the Ada Binding to the facilities defined in ISO
  1233.       9945-1:1989/IEEE 1003.1-1990, the POSIX System Services.
  1234.  
  1235.       IEEE Standards Committee P1003.5 is now working on Ada bindings
  1236.       to IEEE draft standards 1003.4, Real-Time Extensions and
  1237.       1003.4a, Threads Extensions.  Current plans call for an IEEE
  1238.       ballot in October 1993, with IEEE approval in September 1995.
  1239.       For more information, contact the P1003.5 Chairman, Jim Lonjers
  1240.       (lonjers@vfl.paramax.com, 805/987-9457).
  1241.  
  1242. 23) How can I get a copy of POSIX/Ada?  Is it available via FTP?
  1243.  
  1244.       (from emery@mitre.org (dave emery))
  1245.  
  1246.       You can buy a copy of the standard from the IEEE.  The order
  1247.       number is "SH 15354", and the mailing address is "IEEE Service
  1248.       Center, 445 Hoes Lane, Piscataway, NJ 08855-1331".  They will
  1249.       accept credit-card orders at 1-800/678-4333.  The cost is $62.50
  1250.       + $5.00 s/h ($43.75 + $4.00 s/h for IEEE Members).
  1251.  
  1252.       Current IEEE policy prohibits electronic distribution of IEEE
  1253.       standards.  Proceeds from the sale of IEEE standards help
  1254.       support the IEEE standards program.
  1255.  
  1256.       The POSIX P1003.5 committee is trying to work out an arrangement
  1257.       with the IEEE to make the POSIX/Ada package specifications
  1258.       available for distribution via email and anonymous FTP.
  1259.  
  1260. 24) Where can I get Ada benchmark programs?
  1261.  
  1262.       In addition to the information below, you may also wish to look
  1263.       at the AdaIC flyer "How to Obtain Benchmark Performance Test
  1264.       Suites and Results", flyer V15, file benchmrk.hlp.<date> on the
  1265.       AJPO Host (ajpo.sei.cmu.edu).  For more on the AdaIC and
  1266.       downloading files, see questions 14), 15), and 25).
  1267.  
  1268.       (from pd@SEI.CMU.EDU (Patrick Donohoe))
  1269.  
  1270.       The Ada Evaluation System:
  1271.  
  1272.       The Ada Evaluation System (AES) may be obtained from the British
  1273.       Standards Institute at the following address:
  1274.  
  1275.            Software Product Services
  1276.            Software Engineering Department
  1277.            BSIQA
  1278.            P.O. Box 375
  1279.            Milton Keynes MK14 6LL
  1280.            United Kingdom
  1281.            Tel: 0908 220908
  1282.            UUCP: sed@bsiqa.uucp
  1283.            (Internet: bsiqa!sed@uunet.uu.net)
  1284.  
  1285.       As of February 1993, the current version is the DIY-MAPSE-01
  1286.       version.  It is available at a cost of 3,000 pounds sterling.
  1287.       BSI also offers a validation service at a cost of 24,000 pounds
  1288.       sterling.  Principal documents are a User's Manual, a Reference
  1289.       Manual, and a Test Description Document.
  1290.  
  1291.       The Ada Evaluation System (AES) will be merged with the Ada
  1292.       Compiler Evaluation Capability (ACEC) under a joint agreement
  1293.       between the Ministry of Defence of the United Kingdom and the
  1294.       Department of Defense of the United States that was signed in
  1295.       June of 1991.  The merged product will be released as version
  1296.       4.0 of the ACEC; as of March 1993, the expected release time
  1297.       was the third or fourth quarter of 1993.
  1298.  
  1299.       The Ada Compiler Evaluation Capability:
  1300.  
  1301.       The Ada Compiler Evaluation Capability (ACEC) may be obtained
  1302.       from:
  1303.  
  1304.            Data and Analysis Center for Software (DACS)
  1305.            P.O. Box 120
  1306.            Utica, NY 13503
  1307.            Tel: 315/734-3696
  1308.            Internet: dacs-info@kaman.com
  1309.  
  1310.       As of February 1993, the current release of the ACEC is 3.0.
  1311.       There are three documents: the User's Guide, the Reader's Guide,
  1312.       and the Version Description Document.  The total cost for the
  1313.       software and documentation is 100 US dollars.  (Release 3.0 of
  1314.       the ACEC is not the merged AES-ACEC product referred to above.)
  1315.  
  1316.       Hartstone Benchmarks:
  1317.  
  1318.       Electronic mail requests for Hartstone should be sent to the
  1319.       following Internet address:
  1320.  
  1321.            hartstone-info@sei.cmu.edu
  1322.  
  1323.       The reply message will contain full details of how to obtain
  1324.       source code and documentation by various means, including
  1325.       anonymous ftp.  There is no charge for the Hartstone source
  1326.       code.
  1327.  
  1328.       For people without Internet access, the address to send requests
  1329.       to is:
  1330.  
  1331.            REST Transition Services
  1332.            Software Engineering Institute
  1333.            Carnegie Mellon University
  1334.            Pittsburgh, PA 15213-3890
  1335.            Phone: 412/268-7787
  1336.  
  1337.       Hartstone source code may also be retrieved from the PIWG
  1338.       bulletin board.  (See below.)
  1339.  
  1340.       The PIWG Benchmarks:
  1341.  
  1342.       The ACM Performance Issues Working Group (PIWG) benchmarks may
  1343.       be obtained in one of three ways:
  1344.  
  1345.            1.  Via anonymous ftp from the ajpo.sei.cmu.edu machine.
  1346.                Users should issue the command "ftp ajpo.sei.cmu.edu"
  1347.                and log in using the word "anonymous" as the login name
  1348.                and an identifying string (e.g., the user's e-mail
  1349.                address) as password.  Change directory ("cd" command)
  1350.                to the "public/piwg/piwg_11_92" directory and use the
  1351.                ftp file-transfer commands to retrieve the files.  The
  1352.                README file contains information about using the
  1353.                benchmarks.
  1354.  
  1355.            2.  Via the PIWG bulletin board.
  1356.                Ideally, users should access this from a PC (rather
  1357.                than a dumb terminal) using a modem capable of sending
  1358.                and receiving at 1200 baud or higher.  The number of
  1359.                the bulletin board is 412/268-7020.  Once connected to
  1360.                the bulletin board, users will be able to navigate
  1361.                their way around the system using simple menus that the
  1362.                system provides.  The point of contact for this service
  1363.                is Gene Rindels, 412/268-6728.
  1364.  
  1365.            3.  Via a written request or telephone request to the
  1366.                following service:
  1367.  
  1368.                    PIWG Distribution
  1369.                    Software Engineering Institute
  1370.                    Carnegie Mellon University
  1371.                    Pittsburgh, PA 15213-3890
  1372.                    Tel: 412/268-7787
  1373.  
  1374.                As of February 1993, the current release of the PIWG
  1375.                suite is the one dated 11/92.  There is no charge for
  1376.                the PIWG benchmarks.  Documentation for the PIWG
  1377.                benchmarks consists principally of the READ.ME file
  1378.                distributed with the suite and comments in the
  1379.                individual test programs and command files.  There is
  1380.                also additional information about the PIWG suite in the
  1381.                Winter 1990 special edition of Ada Letters (Vol. X,
  1382.                No. 3, special edition on Ada Performance Issues).
  1383.  
  1384. 25) The AJPO host has a lot of Ada information files available for
  1385.     downloading by anonymous FTP.  But I don't have FTP service on the
  1386.     Internet host where I have an account.  Is there any way I can get
  1387.     those files?
  1388.  
  1389.       The AJPO host, ajpo.sei.cmu.edu, will provide mail-server
  1390.       capabilities on an experimental basis.  The available services
  1391.       provided by this automatic mail server are: services, Re, help,
  1392.       info, man, directory, and file-request.  To request a service,
  1393.       send e-mail to "ftpmail@ajpo.sei.cmu.edu" and place its name in
  1394.       the Subject line of the mail message, followed by any needed
  1395.       parameters.  The mail server will respond to your request with
  1396.       either the information you requested or an error message.
  1397.  
  1398.       The following are common examples on how to request services
  1399.       from the AJPO host mail server:
  1400.  
  1401.       ----------------------------------------------------------------------
  1402.       1) To get "help" --
  1403.  
  1404.       To: ftpmail@ajpo.sei.cmu.edu
  1405.       Subject: help
  1406.  
  1407.       ----------------------------------------------------------------------
  1408.  
  1409.       2) To get "man" pages of a particular service, such as "directory" --
  1410.  
  1411.       To: ftpmail@ajpo.sei.cmu.edu
  1412.       Subject: man directory
  1413.  
  1414.       This service takes as a parameter the name of a service, and
  1415.       returns a manual page on that service.
  1416.  
  1417.       ----------------------------------------------------------------------
  1418.  
  1419.       3) To get a "directory" listing of the AJPO anonymous ftp area
  1420.       (/public) --
  1421.  
  1422.       To: ftpmail@ajpo.sei.cmu.edu
  1423.       Subject: directory
  1424.  
  1425.       The "directory" service takes as an optional parameter a file or
  1426.       directory name, and returns the results of an "ls -l" on that
  1427.       parameter.  For example, to get a listing of the
  1428.       /public/ada-info directory you would submit a message with the
  1429.       Subject of:
  1430.  
  1431.       Subject: directory ada-info
  1432.  
  1433.       The filename pattern may include wildcards as defined by the C
  1434.       shell.  For example, to get a listing of the /public directories
  1435.       beginning with "p" you would submit a message with the Subject
  1436.       of:
  1437.  
  1438.       Subject: directory p*
  1439.  
  1440.       ----------------------------------------------------------------------
  1441.  
  1442.       4) Use "file-request" to get /public/README file --
  1443.  
  1444.       To: ftpmail@ajpo.sei.cmu.edu
  1445.       Subject: file-request README
  1446.  
  1447.       The "file-request" service takes as an optional parameter a
  1448.       filename, and will return the contents of the file.  Text files
  1449.       are returned verbatim, while binary files are encoded via the
  1450.       Unix "uuencode" command.  Large files (greater than 1000 lines
  1451.       long) will be split into multiple mail messages.  For example,
  1452.       to get the file "README" in the /public/ada-info directory you
  1453.       would submit a message with the Subject of:
  1454.  
  1455.       Subject: file-request ada-info/README
  1456.  
  1457.       ----------------------------------------------------------------------
  1458.  
  1459.       Below is a sample response to a "help" request.
  1460.  
  1461.       From: FTP Mail Server <ftpmail@ajpo.sei.cmu.edu>
  1462.       Message-Id: <9301141628.AA26473@ajpo.sei.cmu.edu>
  1463.       To: adainfo@ajpo.sei.cmu.edu
  1464.       Subject: Re: help
  1465.       In-Reply-To: <9301141628.AA26462@ajpo.sei.cmu.edu>
  1466.       Content-Type: text/plain; charset=us-ascii
  1467.  
  1468.       You have sent electronic mail to the Ada Joint Programs Office
  1469.       automatic mail server.  This server is based on the
  1470.       ServiceMail(tm) Tookit from Enterprise Integration Technologies.
  1471.  
  1472.       In general, you may request a service by placing its name in the
  1473.       Subject line of a mail message, followed by any needed
  1474.       parameters.  The mail server will respond to your request with
  1475.       either the information you requested or an error message.
  1476.  
  1477.       Here is a brief description of the available services:
  1478.  
  1479.       services:       This service returns a list of the available
  1480.                       services.
  1481.  
  1482.       Re:             This service discards all messages with "Re:" in
  1483.                       the subject line.  This is to prevent mail
  1484.                       loops.
  1485.  
  1486.       help:           This service returns this help message.
  1487.  
  1488.       info:           This service returns this help message.
  1489.  
  1490.       man:            This service takes as a parameter the name of a
  1491.                       service, and returns a manual page on that
  1492.                       service.
  1493.  
  1494.       directory:      This service takes as an optional parameter a
  1495.                       file or directory name, and returns the results
  1496.                       of an "ls -l" on that parameter.  The root of
  1497.                       the file structure is the AJPO anonymous FTP
  1498.                       area.
  1499.  
  1500.       file-request:   This service takes as an optional parameter a
  1501.                       file name, and will return the contents of the
  1502.                       file.  The root of the file structure is the
  1503.                       AJPO anonymous FTP area.  Text files are
  1504.                       returned verbatim, while binary files are
  1505.                       encoded via the Unix "uuencode" command.  Large
  1506.                       files (greater than 1000 lines long) will be
  1507.                       split into multiple mail messages.
  1508.  
  1509.       Try 'man <service>' to get more information on a particular
  1510.       service.  Please report bugs and other problems to
  1511.       ftpmail-request@ajpo.sei.cmu.edu.
  1512.  
  1513. 26) What is ASIS?
  1514.  
  1515.       The Ada Semantic Interface Specification is a layered
  1516.       vendor-independent open architecture.  ASIS queries and services
  1517.       provide a consistent interface to information within the Ada Program
  1518.       Library created at compile time.OK???  Clients of ASIS are shielded
  1519.       and free from the implementation details of each Ada compilerOK??
  1520.       vendor's proprietary library and intermediate representation.
  1521.  
  1522.       The latest working draft for ASIS is ASIS 1.1, dated March 1993.  The
  1523.       ASIS Working Group (ASISWG), under sponsorship of the AJPO, intends
  1524.       to evolve this working draft into an ISO standard complementing the
  1525.       Ada 9X standard.  The current ASIS working draft is based on Ada 83.
  1526.       Your comments are welcome, if you wish to see replies to your
  1527.       comments, please join the e-mail discussion group (discussed below)
  1528.       first.
  1529.  
  1530. 27) How can I find out more about ASIS?  Can I take part in development?
  1531.  
  1532.       There is an electronic mail discussion forum for the ASISWG:
  1533.       asis@stars.reston.paramax.com
  1534.  
  1535.       This forum is also where announcements of ASISWG meetings will
  1536.       appear.  To have your e-mail address added to this forum, send e-mail
  1537.       to:
  1538.  
  1539.              asis-request@stars.reston.paramax.com
  1540.  
  1541.       Include your preferred email address, name, telephone number, and
  1542.       surface mail address.
  1543.  
  1544.       A separate, announcements-only, mailing list is available for those
  1545.       that do not wish to participate in the technical discussions.  That
  1546.       list is asis-info@stars.reston.paramax.com.  To have your name added
  1547.       to the info list, send e-mail to:
  1548.  
  1549.              asis-info-request@stars.reston.paramax.com
  1550.  
  1551. 28) How can I get hold of ASIS?
  1552.  
  1553.       ASIS 1.1 is avaiable for anonymous FTP from ajpo.sei.cmu.edu.  It is
  1554.       available, as a series of files, in the public/asis directory.
  1555.  
  1556.       If you have Internet FTP access, run your FTP program, your log might
  1557.       look something like this:
  1558.  
  1559.              $ ftp ajpo.sei.cmu.edu
  1560.              Name (ajpo.sei.cmu.edu:you): anonymous
  1561.              331 Guest login ok, send ident as password.
  1562.              Password:you@your-company.com
  1563.              ftp> cd public/asis
  1564.              ftp> binary
  1565.              ftp> get asis_1.1.asc
  1566.              200 PORT command successful.
  1567.              150 Opening data connection for asis_1.1.asc (130.213.1.2,2614)
  1568.              (611652 bytes).
  1569.              ....
  1570.              ftp> bye
  1571.  
  1572.       (The "binary" command is not always necessary.  Some host ftp
  1573.       programs drop form-feed characters.  The binary command will prevent
  1574.       this behavior.)
  1575.  
  1576.       If you do not have Internet ftp access, the AJPO host provides
  1577.       mail-server capabilities.  To get more information about the
  1578.       mail-server, send e-mail to "ftpmail@ajpo.sei.cmu.edu", and address
  1579.       your message as:
  1580.  
  1581.              To: ftpmail@ajpo.sei.cmu.edu
  1582.              Subject: help
  1583.  
  1584.       To get a copy of the /public/asis/README file, address your e-mail
  1585.       as:
  1586.  
  1587.              To: ftpmail@ajpo.sei.cmu.edu
  1588.              Subject: file-request asis/README
  1589.  
  1590.       To get a "directory" listing of /public/asis, address your e-mail as:
  1591.  
  1592.              To: ftpmail@ajpo.sei.cmu.edu
  1593.              Subject: directory asis
  1594.  
  1595.       To get any of the various files, eg.  /public/asis/asis_1.1.ps,
  1596.       address your e-mail as:
  1597.  
  1598.              To: ftpmail@ajpo.sei.cmu.edu
  1599.              Subject: file-request asis/asis_1.1.ps
  1600.  
  1601.       The filename pattern may include the "*" wildcard.
  1602.  
  1603.       The files currently available are:
  1604.  
  1605.       asis_1.1.asc - full interface listing, line-numbered, 7-bit ASCII,
  1606.                      300 pages
  1607.       asis_1.1.ps - same as .asc file, PostScript form, 4 pages/page, 78
  1608.                      pages
  1609.       asis_1.1.index - line-number/function-name cross-index for interface,
  1610.                      7-bit ASCII
  1611.       asis_1.1.ada - full interface, in a form suitable for compilation
  1612.                      with an Ada 83 compiler
  1613.       asis_1.1.bnf - Ada 83 LRM BNF notation correlated with ASIS
  1614.                      interfaces, 7-bit ASCII
  1615.       asis_1.1.imp.ps - implementation considerations and requirements,
  1616.                      PostScript
  1617.  
  1618. ====================================end=======================================
  1619.  
  1620.